package org.jeecg.modules.demo.mall.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * @Description: 用户充值表
 * @Author: jeecg-boot
 * @Date:   2023-10-27
 * @Version: V1.0
 */
@Data
@TableName("yx_user_recharge")
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="yx_user_recharge对象", description="用户充值表")
public class YxUserRecharge implements Serializable {
    private static final long serialVersionUID = 1L;

	/**id*/
	@TableId(type = IdType.AUTO)
    @ApiModelProperty(value = "id")
    private Integer id;
	/**充值用户UID*/
	@Excel(name = "充值用户UID", width = 15)
    @ApiModelProperty(value = "充值用户UID")
    private Integer uid;
	/**nickname*/
	@Excel(name = "nickname", width = 15)
    @ApiModelProperty(value = "nickname")
    private String nickname;
	/**订单号*/
	@Excel(name = "订单号", width = 15)
    @ApiModelProperty(value = "订单号")
    private String orderId;
	/**充值金额*/
	@Excel(name = "充值金额", width = 15)
    @ApiModelProperty(value = "充值金额")
    private BigDecimal price;
	/**购买赠送金额*/
	@Excel(name = "购买赠送金额", width = 15)
    @ApiModelProperty(value = "购买赠送金额")
    private BigDecimal givePrice;
	/**充值类型*/
	@Excel(name = "充值类型", width = 15)
    @ApiModelProperty(value = "充值类型")
    private String rechargeType;
	/**是否充值*/
	@Excel(name = "是否充值", width = 15)
    @ApiModelProperty(value = "是否充值")
    private Integer paid;
	/**充值支付时间*/
	@Excel(name = "充值支付时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "充值支付时间")
    private Date payTime;
	/**充值时间*/
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "充值时间")
    private Date createTime;
	/**updateTime*/
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "updateTime")
    private Date updateTime;
	/**退款金额*/
	@Excel(name = "退款金额", width = 15)
    @ApiModelProperty(value = "退款金额")
    private BigDecimal refundPrice;
	/**isDel*/
	@Excel(name = "isDel", width = 15)
    @ApiModelProperty(value = "isDel")
    private Integer isDel;
    /**备注*/
    @Excel(name = "mark", width = 15)
    @ApiModelProperty(value = "mark")
    private String mark;

    /**
     * 用户电话号码
     */
    @TableField(exist = false)
    private String phone;
    /**
     *商户id
     */
    @Excel(name = "merId", width = 15)
    @ApiModelProperty(value = "merId")
    private String merId;

    /**
     *  商户名称
     */
    @Excel(name = "merName", width = 15)
    @ApiModelProperty(value = "merName")
    private String merName;

    /**积分*/
    @TableField(exist = false)
    private Long integral;

    /**储值卡卡号*/
    @TableField(exist = false)
    private String valueNumber;
    /**储值卡优惠折扣*/
    @TableField(exist = false)
    private BigDecimal valueDiscount;
    /**储值卡有效期*/
    @TableField(exist = false)
    private String valueValidDate;

}
